home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / cde.idb / usr / dt / share / include / Xm / ScreenP.h.z / ScreenP.h
Encoding:
C/C++ Source or Header  |  2003-11-18  |  7.0 KB  |  230 lines

  1. /*
  2.  * ScreenP.h
  3.  *
  4.  * Copyright 2000, Silicon Graphics, Inc.
  5.  * ALL RIGHTS RESERVED
  6.  * 
  7.  * UNPUBLISHED -- Rights reserved under the copyright laws of the United
  8.  * States.   Use of a copyright notice is precautionary only and does not
  9.  * imply publication or disclosure.
  10.  *
  11.  * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
  12.  * Use, duplication or disclosure by the Government is subject to restrictions
  13.  * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
  14.  * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
  15.  * in similar or successor clauses in the FAR, or the DOD or NASA FAR
  16.  * Supplement.  Contractor/manufacturer is Silicon Graphics, Inc.,
  17.  * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
  18.  *
  19.  * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
  20.  * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
  21.  * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
  22.  * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
  23.  * GRAPHICS, INC.
  24.  */
  25. /* 
  26.  * @OSF_COPYRIGHT@
  27.  * (c) Copyright 1990, 1991, 1992, 1993, 1994 OPEN SOFTWARE FOUNDATION, INC.
  28.  * ALL RIGHTS RESERVED
  29.  *  
  30. */ 
  31. /*
  32.  * HISTORY
  33.  * Motif Release 1.2.5
  34. */
  35. /*   $XConsortium: ScreenP.h /main/cde1_maint/2 1995/08/18 19:20:28 drk $ */
  36. /*
  37. *  (c) Copyright 1989, 1990  DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  38. /*
  39. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  40. /*
  41. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  42. /*
  43. *  (c) Copyright 1988 MICROSOFT CORPORATION */
  44. #ifndef _XmScreenP_h
  45. #define _XmScreenP_h
  46.  
  47. #include <Xm/DesktopP.h>
  48. #include <Xm/Screen.h>
  49. #include <Xm/DragIcon.h>
  50.  
  51. #ifdef __cplusplus
  52. extern "C" {
  53. #endif
  54.  
  55. typedef struct _XmScreenClassPart{
  56.     XtPointer        extension;
  57. }XmScreenClassPart, *XmScreenClassPartPtr;
  58.  
  59. typedef struct _XmScreenClassRec{
  60.     CoreClassPart        core_class;
  61.     XmDesktopClassPart         desktop_class;
  62.     XmScreenClassPart        screen_class;
  63. }XmScreenClassRec;
  64.  
  65. typedef struct _XmDragCursorRec{
  66.     struct _XmDragCursorRec    *next;
  67.     Cursor            cursor;
  68.     XmDragIconObject        stateIcon;
  69.     XmDragIconObject        opIcon;
  70.     XmDragIconObject        sourceIcon;
  71.     Boolean            dirty;
  72. }XmDragCursorRec, *XmDragCursorCache;
  73.  
  74. typedef struct _XmScratchPixmapRec *XmScratchPixmap;
  75.  
  76. typedef struct _XmScratchPixmapRec{
  77.     XmScratchPixmap     next;
  78.     Pixmap              pixmap;
  79.     Cardinal        depth;
  80.     Dimension           width;
  81.     Dimension           height;
  82.     Boolean             inUse;
  83. }XmScratchPixmapRec;
  84.  
  85. typedef struct {
  86.     Boolean        mwmPresent;
  87.     unsigned short    numReparented;
  88.     int            darkThreshold;
  89.     int            foregroundThreshold;
  90.     int            lightThreshold;
  91.     XmDragIconObject    defaultNoneCursorIcon;
  92.     XmDragIconObject    defaultValidCursorIcon;
  93.     XmDragIconObject    defaultInvalidCursorIcon;
  94.     XmDragIconObject    defaultMoveCursorIcon;
  95.     XmDragIconObject    defaultCopyCursorIcon;
  96.     XmDragIconObject    defaultLinkCursorIcon;
  97.     XmDragIconObject    defaultSourceCursorIcon;
  98.  
  99.     Cursor        nullCursor;
  100.     XmDragCursorRec    *cursorCache;
  101.     Cardinal        maxCursorWidth;
  102.     Cardinal        maxCursorHeight;
  103.  
  104.     Cursor        menuCursor;
  105.     unsigned char    unpostBehavior;
  106.     XFontStruct *    font_struct;
  107.     int            h_unit;
  108.     int            v_unit;
  109.     XmScratchPixmap    scratchPixmaps;
  110.     unsigned char     moveOpaque;
  111.  
  112.     /* to save internally-created XmDragIcons */
  113.  
  114.     XmDragIconObject    xmStateCursorIcon;
  115.     XmDragIconObject    xmMoveCursorIcon;
  116.     XmDragIconObject    xmCopyCursorIcon;
  117.     XmDragIconObject    xmLinkCursorIcon;
  118.     XmDragIconObject    xmSourceCursorIcon;
  119.  
  120.     GC            imageGC;        /* ImageCache.c */
  121.     int            imageGCDepth;
  122.     Pixel        imageForeground;
  123.     Pixel        imageBackground;
  124.  
  125.     XtPointer        screenInfo;        /* extension */
  126. } XmScreenPart, *XmScreenPartPtr;
  127.  
  128. typedef struct _XmScreenInfo {
  129.     /* so much for information hiding */
  130.     XtPointer    menu_state;        /* MenuUtil.c */
  131.     Boolean        destroyCallbackAdded;    /* ImageCache.c */
  132. } XmScreenInfo;
  133.  
  134. externalref XmScreenClassRec     xmScreenClassRec;
  135.  
  136. typedef struct _XmScreenRec{
  137.     CorePart            core;
  138.     XmDesktopPart        desktop;
  139.     XmScreenPart        screen;
  140. }XmScreenRec;
  141.  
  142. externalref XrmQuark _XmInvalidCursorIconQuark ;
  143. externalref XrmQuark _XmValidCursorIconQuark ;
  144. externalref XrmQuark _XmNoneCursorIconQuark ;
  145. externalref XrmQuark _XmDefaultDragIconQuark ;
  146. externalref XrmQuark _XmMoveCursorIconQuark ;
  147. externalref XrmQuark _XmCopyCursorIconQuark ;
  148. externalref XrmQuark _XmLinkCursorIconQuark ;
  149.  
  150.  
  151. /********    Private Function Declarations    ********/
  152. #ifdef _NO_PROTO
  153.  
  154. extern XmDragIconObject _XmScreenGetOperationIcon() ;
  155. extern XmDragIconObject _XmScreenGetStateIcon() ;
  156. extern XmDragIconObject _XmScreenGetSourceIcon() ;
  157. extern Pixmap _XmAllocScratchPixmap() ;
  158. extern void _XmFreeScratchPixmap() ;
  159. extern XmDragCursorCache * _XmGetDragCursorCachePtr() ;
  160. extern void _XmGetMaxCursorSize() ;
  161. extern Cursor _XmGetNullCursor() ;
  162. extern Cursor _XmGetMenuCursorByScreen() ;
  163. extern Boolean _XmGetMoveOpaqueByScreen() ;
  164. extern unsigned char _XmGetUnpostBehavior() ;
  165. extern int _XmGetFontUnit() ;
  166. extern void _XmScreenRemoveFromCursorCache() ;
  167.  
  168. #else
  169.  
  170. extern XmDragIconObject _XmScreenGetOperationIcon( 
  171.                         Widget w,
  172. #if NeedWidePrototypes
  173.                         unsigned int operation) ;
  174. #else
  175.                         unsigned char operation) ;
  176. #endif /* NeedWidePrototypes */
  177. extern XmDragIconObject _XmScreenGetStateIcon( 
  178.                         Widget w,
  179. #if NeedWidePrototypes
  180.                         unsigned int state) ;
  181. #else
  182.                         unsigned char state) ;
  183. #endif /* NeedWidePrototypes */
  184. extern XmDragIconObject _XmScreenGetSourceIcon( 
  185.                         Widget w) ;
  186. extern Pixmap _XmAllocScratchPixmap( 
  187.                         XmScreen xmScreen,
  188. #if NeedWidePrototypes
  189.                         unsigned int depth,
  190.                         int width,
  191.                         int height) ;
  192. #else
  193.                         Cardinal depth,
  194.                         Dimension width,
  195.                         Dimension height) ;
  196. #endif /* NeedWidePrototypes */
  197. extern void _XmFreeScratchPixmap( 
  198.                         XmScreen xmScreen,
  199.                         Pixmap pixmap) ;
  200. extern XmDragCursorCache * _XmGetDragCursorCachePtr( 
  201.                         XmScreen xmScreen) ;
  202. extern void _XmGetMaxCursorSize( 
  203.                         Widget w,
  204.                         Dimension *width,
  205.                         Dimension *height) ;
  206. extern Cursor _XmGetNullCursor( 
  207.                         Widget w) ;
  208. extern Cursor _XmGetMenuCursorByScreen( 
  209.                         Screen *screen) ;
  210. extern Boolean _XmGetMoveOpaqueByScreen( 
  211.                         Screen *screen) ;
  212. extern unsigned char _XmGetUnpostBehavior( 
  213.                         Widget wid) ;
  214. extern int _XmGetFontUnit( 
  215.                         Screen *screen,
  216.                         int dimension) ;
  217. extern void _XmScreenRemoveFromCursorCache(
  218.             XmDragIconObject icon) ;
  219.  
  220. #endif /* _NO_PROTO */
  221. /********    End Private Function Declarations    ********/
  222.  
  223.  
  224. #ifdef __cplusplus
  225. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  226. #endif
  227.  
  228. #endif /* _XmScreenP_h */
  229. /* DON'T ADD STUFF AFTER THIS #endif */
  230.